Skip to content

Conversation

@bigcat88
Copy link
Member

@bigcat88 bigcat88 commented Dec 9, 2023

Next code should be allowed for some folks, that love async :

@asynccontextmanager
async def lifespan(_app: FastAPI):
    ex_app.set_handlers(APP, enabled_handler, heartbeat_callback, init_handler=init_handler)
    yield
    
    
async def enabled_handler(enabled: bool, nc: NextcloudApp) -> str:
    print(f"enabled_handler: enabled={enabled}", flush=True)
    if enabled:
        nc.log(ex_app.LogLvl.WARNING, f"Hello from {nc.app_cfg.app_name} :)")
    else:
        nc.log(ex_app.LogLvl.WARNING, f"Bye bye from {nc.app_cfg.app_name} :(")
    return ""


async def init_handler(nc: NextcloudApp):
    nc.set_init_status(100)


async def heartbeat_callback():
    return "ok"

set_handlers should support all Callable to be awaitable.

Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
Signed-off-by: Alexander Piskun <bigcat88@icloud.com>
@codecov
Copy link

codecov bot commented Dec 9, 2023

Codecov Report

Merging #176 (7d7af51) into main (c74798e) will increase coverage by 0.00%.
The diff coverage is 100.00%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #176   +/-   ##
=======================================
  Coverage   99.81%   99.81%           
=======================================
  Files          36       36           
  Lines        3327     3330    +3     
=======================================
+ Hits         3321     3324    +3     
  Misses          6        6           
Files Coverage Δ
nc_py_api/ex_app/integration_fastapi.py 100.00% <100.00%> (ø)

@bigcat88 bigcat88 merged commit 695b5a5 into main Dec 9, 2023
@bigcat88 bigcat88 deleted the set_handlers-async branch December 9, 2023 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants